package com.ygq;

import DO.WorkTestTwoDataDO;
import DTO.WorkAnswerDTO;
import VO.WorkStudentAnswerViewVO;
import VO.WorkTest2VO;
import result.Result;

import java.time.LocalDateTime;
import java.util.List;

public interface WorkService {

    // 根据班级id获取该试卷的结束时间
    LocalDateTime getEndTime(Integer classId,Integer WorkId);

    // 查询学生试卷提交还是保存状态
    Integer getStudentState(Integer userId, Integer workId);

    // 没有修改，存在空值
    Integer getStudentOldState(Integer userId, Integer workId);

    // 提交答案
    Double submissAnswer(WorkAnswerDTO workAnswerDTO);

    // 获取学生答案
    Result<WorkStudentAnswerViewVO> getStudentAnswer(Integer userId, Integer workId);

    // 获取测试2的答案
    WorkTest2VO getWorkTest2(Integer workId, Integer classId);

    // 保存测试2中用户上传的答案
    void saveWorkTest(WorkTestTwoDataDO workTestTwoDataDO);

    // 获取测试2的学生分数信息
    List<Double> getWorkTest2Score(Integer workId, Integer userId, Integer number);

    // 在学生未提交的情况下，构建返回数据完成学生成绩查看
    Result<WorkStudentAnswerViewVO> getStudentAnswerButNull(Integer userId, Integer workId);


    int getIsRelevancyWork(Integer id);

    Integer getIsScores(Integer userId, Integer workId, Integer order);
}
